The Adaptive Median Filter implementation is shown below.
Below are the results of the filtering methods. For the Wiener method, a size of 15 was used with a noise power of 300. The adaptive median filter used Sxy = 3 and Smax = 9.
I decided I liked the smoothign effect seen on the car of the Wiener filtered image compared to the others, but I did not like the level of detail lost in the sand in the sky. This was preserved in the adaptive median filter. To create a nicer hybrid, I took a gaussian lowpass of the noisy image and a gaussian highpass of the adaptive median image and merged them together. ResultA is the most aesthetically pleasing image in my opinion.
The iterative convolution method is shown below.
Below are the results of applying the iterative deconvolution method and a Wiener filter for noise removal. I found that it was better to perform the noise removal step after the deconvolution, as reversing this order often left too much information lost for the deconvolution to be effective.
I think ResultC has the best compromise between ringing and sharpness.